//
//  ViewController.m
//  httpDemo
//
//  Created by yuzhanjie on 2018/4/23.
//  Copyright © 2018年 yuzhanjie. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (strong,nonatomic) NSURLConnection *connection;
@property (strong,nonatomic) NSArray *trustedCertificates;

@end

@implementation ViewController
- (IBAction)OnBtn:(UIButton *)sender {
     [self request1];
}
- (IBAction)OffBtn:(UIButton *)sender {
     [self getOff];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
   
}
-(void)get2{
    NSString *plugURL = @"http://mokey.site/app-message/?device_id=8895f3&message=relays_one|0";
    // 1、构造URL资源地址
    NSURL *url = [NSURL URLWithString:plugURL];
    // 2、创建Request请求
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    // 3、配置Request请求
    // 设置请求方法
    request.HTTPMethod = @"GET";
    // 设置请求超时
    request.timeoutInterval = 10.0;
    // 设置头部参数
    //[request addValue:Get_Url_Apikey forHTTPHeaderField:@"apikey"];
    //[request addValue:@"general header" forHTTPHeaderField:@"apikey"];
    
    
    // 4、构造NSURLSessionConfiguration
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    // 5、构造NSURLSession，网络会话；
    NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];;
    // 6、构造NSURLSessionTask，会话任务；
    NSURLSessionTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        
        // 请求失败，打印错误信息
        if (error) {
            NSLog(@"%@", error.localizedDescription);
        }
        // 8、请求成功，解析数据
        else {
            // 直接将data数据转成OC字符串(NSUTF8StringEncoding)；
            // NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            
            // JSON数据格式解析
            id object = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
            // 9、判断是否解析成功
            if (error) {
                NSLog(@"%@", error.localizedDescription);
            }else {
                NSLog(@"%@", object);
                // 解析成功，处理数据，通过GCD获取主队列，在主线程中刷新界面。
                dispatch_async(dispatch_get_main_queue(), ^{
                    // 刷新界面....
                });
            }
        }
    }];
    // 7、执行任务
    [task resume];
}

-(void)request1{ //创建请求路径
    //NSURL *url=[NSURL URLWithString:@"http://127.0.0.1/test/jsonrep.php"];
    //NSURL *url=[NSURL URLWithString:@"http://mokey.site/app-message/?device_id=8895f3&message=relays_one|1"];
    NSString *urlutf8 = [@"http://mokey.site/app-message/?device_id=8895f3&message=relays_one|1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"#%^{}\"[]|\\<> "].invertedSet];
    NSURL *url=[NSURL URLWithString:urlutf8];
    
    
    //创建请求对象
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    //创建会话对象
    NSURLSession *session=[NSURLSession sharedSession];
    //根据会话对象来创建请求任务 任务中的代码块默认在子线程中执行
    NSURLSessionDataTask *dataTask=[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error)
    {
        NSLog(@"%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]);
        // 请求失败，打印错误信息
        if (error) {
            NSLog(@"%@", error.localizedDescription);
        }
        // 8、请求成功，解析数据
        else {
            // 直接将data数据转成OC字符串(NSUTF8StringEncoding)；
            // NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            
            // JSON数据格式解析
            id object = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
            // 9、判断是否解析成功
            if (error) {
                NSLog(@"%@", error.localizedDescription);
            }else {
                NSLog(@"%@", object);
                // 解析成功，处理数据，通过GCD获取主队列，在主线程中刷新界面。
                dispatch_async(dispatch_get_main_queue(), ^{
                    // 刷新界面....
                });
            }
        }
    }];
    //执行任务（发送请求）
    [dataTask resume];
    
}
    
  


-(void)getOff
{
    
    NSString *urlutf8 = [@"http://mokey.site/app-message/?device_id=8895f3&message=relays_one|0" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"#%^{}\"[]|\\<> "].invertedSet];
    NSURL *url=[NSURL URLWithString:urlutf8];
    
    // 1.创建一个网络路径
    //NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://mokey.site/"]];
    // 2.创建一个网络请求
    NSURLRequest *request =[NSURLRequest requestWithURL:url];
    // 3.获得会话对象
    NSURLSession *session = [NSURLSession sharedSession];
    // 4.根据会话对象，创建一个Task任务：
    NSURLSessionDataTask *sessionDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        NSLog(@"从服务器获取到数据");
        NSLog(@"%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]);
        /*
         对从服务器获取到的数据data进行相应的处理：
         */
        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableLeaves) error:nil];
    }];
    // 5.最后一步，执行任务（resume也是继续执行）:
    [sessionDataTask resume];
}


@end
